package com.moli.iov.sys.remote;

import com.moli.iov.rest.RestResponse;
import com.moli.iov.sys.model.dto.req.PermissionDto;
import com.moli.iov.sys.model.po.Permission;
import java.util.List;

/**
 * <p>
 * 权限业务
 * </p>
 *
 * @author zql
 * @since 2019/9/11 16:47
 */
public interface IPermissionRemoteService {

  /**
   * 获取用户api、btn权限
   * @param userId
   * @return
   */
  List<Permission> listApiAndBtnPermission(Long userId);


  /**
   * 获取用户菜单、按钮权限
   * @param userId
   * @return
   */
  List<Permission> listTreePermission(Long userId);

  /**
   * 获取超级管理员菜单、按钮权限 超级管理员
   * @param userType 用户类型
   * @return
   */
  List<Permission> listTreePermissionOfSuperAdmin(Integer userType);

  /**
   * 根据用户类型查询全部权限
   * @param permissionDto
   * @return
   */
  RestResponse<List<Permission>> listAllPermissionNeApi(PermissionDto permissionDto);

}
